package com.lwj.mapper.administration;

import com.lwj.dto.administration.DepartmentDto;
import com.lwj.dto.administration.DepartmentListDto;
import com.lwj.model.administration.Department;
import com.lwj.vo.administration.DepartmentTreeVo;
import com.lwj.vo.administration.DepartmentVo;
import com.lwj.vo.configuration.DepartmentInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DepartmentMapper {
    int deleteByPrimaryKey(String departmentId);

    int insert(Department record);

    int insertSelective(Department record);

    Department selectByPrimaryKey(String departmentId);

    int updateByPrimaryKeySelective(Department record);

    int updateByPrimaryKey(Department record);

    List<DepartmentVo> listDepartment( DepartmentListDto dto);

    List<DepartmentTreeVo> listDepartmentTree(@Param("path") String path, @Param("excludeDisable")boolean excludeDisable);

    Integer selectMaxSort(@Param("parentDepartmentId")String parentDepartmentId);

}
